This invention relates in general to the monitoring and analysis of communication networks and more particularly, it is directed to providing a system capable of monitoring the quality of individual voice, video and other real-time connections, and also monitor and evaluate the overall performance of packet-based networks.
The Internet is a worldwide network of interconnected computers allowing users to transmit, access and obtain files from other computers and users on the network. In recent years, the Internet is becoming used more and more for new real-time applications such as allowing telephone callers to place voice telephone calls over the Internet. In addition, other real-time interactive applications such as videoconferencing allow users to conduct meetings over the network without having to physically travel to the meeting location or incur long distance communication charges.
The performance of these network applications, however, has generally disappointed users due to the vagaries of the performance and reliability of interactive communication applications over packet-based networks such as the Internet. The Internet was not originally designed for interactive communication, but rather, for the bulk transport of packets of digital data using non-interactive protocols, such as sending electronic mail (xe2x80x9cE-mailxe2x80x9d), File Transfer Protocol (xe2x80x9cFTPxe2x80x9d), and network news, i.e., USENET. Regardless, a number of real-time protocols have been designed and marketed, including RealAudio by RealNetworks, NetMeeting by Microsoft, and many others.
The performance of the network implementing these applications, however, is difficult for network operators to monitor and determine. The performance of interactive network application software operating over the Internet or other packet-based networks depends on the ability of the network to deliver digital packets of audio and video information between callers. Internet packet delivery delay and loss dynamics, however, can be extremely variable. Packet delay and loss characteristics between two callers or hosts devices may remain stationary for an hour or more, or they may change dramatically second-by-second. Different pairs of host devices communicating over the same network may also experience different network performance dynamics due to available network bandwidth and background traffic patterns. This temporal and spatial heterogeneity of the network performance makes it difficult to monitor the performance of the network. Without visibility of network performance, operators have difficulty identifying and addressing trouble areas to improve performance.
Today, network edge devices such as gateway devices that deliver packets between host devices can generate statistics on the packet delivery performance of particular call connections, also referred to as sessions. On a per-connection basis, network performance statistics such as the delay in delivering packets, packets loss, and jitter are routinely generated. On an individual connection between a pair of host devices, this network performance data can provide a snapshot of the packet delivery performance between a pair of host devices. Although this per-connection network performance data is available for an ongoing session or connection, a need exists for utilizing network packet delivery performance information for detecting network trouble areas or to provide an overall view of network performance.
In accordance with an illustrative embodiment of the present invention, problems associated with the monitoring and analyzing of real-time network performance are addressed. According to an aspect of the illustrative embodiment, a network edge device such as a gateway router, is capable of collecting network connection statistics to determine the packet delivery performance of individual network connections, as well as the overall quality of network performance.
The present embodiment provides a network performance monitoring and management system based upon the per-connection statistics collected by the individual network devices or gateways. On a global scale across the network, the network performance statistics collected from network connections across the network can be used to monitor the overall performance of the underlying network to provide a picture of xe2x80x9caveragexe2x80x9d network conditions, as well as highlighting trouble spots.
In an illustrative embodiment of the invention describing a Voice-over-IP (VoIP) network, the voice gateways transmit audio, video and other data in RTP (Real-time Transport Protocol) streams. RTP includes a control protocol, RTCP (RTP Control Protocol), which allows session members participating in a session to exchange information related to network performance. RTCP collects statistics on the quality of the transport service between session members; i.e., remote applications communicating over the network and transmits the statistical data between the session members. The illustrative embodiment presented here utilizes RTCP to generate and transmit the relevant network performance statistics. The network performance is organized and maintained in databases and monitored to analyze the data to provide information regarding network performance.
According to another aspect of the invention, the network is organized according to a hierarchical grouping of gateway devices to facilitate monitoring of the network. Gateway devices forming the network are hierarchically grouped in clusters. For example, gateways in the zero hierarchy level are grouped into clusters whereby each gateway in a cluster exchanges data with any other gateway in that cluster. Each level zero cluster also includes a cluster network monitor that monitors network performance conditions between gateway pairs within its cluster. The cluster monitor may also maintain a database to maintain network performance data of the gateway pairs within its cluster.
The next hierarchy level of gateways, level one, includes a specific set of level zero hierarchy clusters. Level one cluster pairs are defined as any pairs of gateways belonging to different level zero clusters within the level one cluster. That is, each gateway in a level one cluster pair belongs to a different level zero cluster, but each gateway""s parent level zero cluster is a member of the level one cluster. The level one cluster also has a network monitor for all level one cluster pairs within the level one cluster, a level one cluster monitor. Theoretically, the hierarchy can extend in this fashion up to n levels for any positive integer n.
The hierarchical network organization has several advantages. First, traffic associated with the network performance monitoring and management function can be distributed and the processing burden can also be placed on the appropriate network monitor. Further, the hierarchical arrangement allows for topological localization of the network conditions being monitored. In particular, problems can be traced to the smallest relevant level of the network hierarchy, helping to isolate trouble spots. For system-wide monitoring, the local conditions, e.g. at the level zero cluster level must be made available at the global level. Thus, information can be passed up according to the network hierarchy so that the system can be monitored at a high level.
According to another aspect of the invention, the monitoring system provides for monitoring the network conditions at different frequencies or time scales. In the illustrative embodiment, the network is monitored according to three time scales: real-time, near real-time, and daily time scales. Real-time monitoring is particularly useful for alarms, near real-time monitoring for current network traffic conditions, and daily monitoring for long-term network trend analysis.
According to still another aspect of the invention, network performance data are collected and maintained in databases for organizing network performance data. Preferably, a database maintains the network performance data according to source-destination gateway pairs. The combination of the source gateway and the particular gateway on which the database is maintained defines the source-destination gateway pair and thus the cluster monitor for monitoring the clusters that the gateway pair falls within. The gateway database is periodically updated by adding newly acquired performance statistics to any previously acquired statistics for the network pair. Preferably, databases of network performance information can be transferred to the highest level network monitor according to the described network hierarchy for system-wide monitoring of overall network performance.
The present embodiment allows for the monitoring and management of network performance. Network performance statistics from individual connections between gateway devices can be collected, maintained and analyze to obtain overall network performance, as well as providing different views of network performance. Trouble spots can be identified, isolated and examined. The network hierarchy allows the organization and management network performance information across a large scalable network.